package com.mingserve.raw.domain.dto;

import com.alibaba.fastjson2.annotation.JSONField;
import com.mingserve.raw.domain.BaseRawEntity;
import lombok.Data;
import lombok.EqualsAndHashCode;

/**
 * 原始上传连接情况
 *
 * @author lvwshuai
 */
@EqualsAndHashCode(callSuper = true)
@Data
public class RawConnDto extends BaseRawEntity
{
    /**
     * 传感器编码
     */
    @JSONField(name = "ChipID")
    private String chipID;
    /**
     * 采集时间戳 必传 单位 us
     */
    @JSONField(name = "Timestamp")
    private Long timestamp;
    /**
     * 上传包数
     */
    @JSONField(name = "TotalFiles")
    private Integer totalFiles;
    /**
     * Wifi信号强度
     */
    @JSONField(name = "WifiRssi")
    private Integer wifiRssi;
    /**
     * 上传速度 单位：KB/s
     */
    @JSONField(name = "UploadSpeed")
    private Double uploadSpeed;

    /**
     * 电池电压(V)
     */
    @JSONField(name = "BatteryVoltage")
    private Double batteryVoltage;
    /**
     * 芯片电压(V)
     */
    @JSONField(name = "ChipVoltage")
    private Double chipVoltage;
    /**
     * 每次上传整包包数
     */
    @JSONField(name = "UploadCounts")
    private Integer uploadCounts;
    /**
     * 固定采样时间间隔 单位 s
     */
    @JSONField(name = "SampleInterval")
    private Integer sampleInterval;
    /**
     * 采样点数
     */
    @JSONField(name = "SamplePoints")
    private Integer samplePoints;
    /**
     * 同步采样时间 单位 s
     */
    @JSONField(name = "SynTime")
    private Integer syncTime;
    /**
     * 分包点数大小 取值范围：100-100000
     */
    @JSONField(name = "SubpackageSize")
    private Integer subpackageSize;
    /**
     * 上传失败是否重传标志
     */
    @JSONField(name = "ReuploadFlag")
    private Integer reUploadFlag;
    /**
     * 系统重上电次数
     */
    @JSONField(name = "PowerReset")
    private Integer powerReset;
    /**
     * 版本号
     */
    @JSONField(name = "Version")
    private String version;
    /**
     * 配置信息
     * TransferMode 数据传输模式 , 0：MQTT整包传输，1：HTTP整包传输，2：MQTT分包传输，3：HTTP分包传输
     * SampleMode 数据采样模式 , 0：边缘计算触发采样，1：定时采样
     */
    @JSONField(name = "CfgInfo")
    private String configInfo;
}
